﻿using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
using SerbinAV.MobileSales.Sales.Common;

namespace SerbinAV.MobileSales.Sales.Common
{
    [Serializable]
    public class Settings
    {
        #region Details

        private string _companyName = string.Empty;
        private string _agentName = string.Empty;

        public string CompanyName
        {
            get
            {
                return _companyName;
            }
            set
            {
                _companyName = value;
            }
        }

        public string AgentName
        {
            get
            {
                return _agentName;
            }
            set
            {
                _agentName = value;
            }
        }

        #endregion

        #region Database

        private string _databasePath = string.Empty;
        private string _databasePassword = string.Empty;

        public string DatabasePath
        {
            get
            {
                return _databasePath;
            }
            set
            {
                _databasePath = value;
            }
        }

        public string DatabasePassword
        {
            get
            {
                return _databasePassword;
            }
            set
            {
                _databasePassword = value;
            }
        }

        #endregion

        #region GPS

        private bool _enableGPS;
        private int _portGPS;

        public bool EnableGPS
        {
            get
            {
                return _enableGPS;
            }
            set
            {
                _enableGPS = value;
            }
        }



        public int PortGPS
        {
            get
            {
                return _portGPS;
            }
            set
            {
                _portGPS = value;
            }
        }

        #endregion

        #region ImportExport

        private string _importPath = string.Empty;
        private string _exportPath = string.Empty;
        private bool _isSaveFiles;

        public string ImportPath
        {
            get
            {
                return _importPath;
            }
            set
            {
                _importPath = value;
            }
        }

        public string ExportPath
        {
            get
            {
                return _exportPath;
            }
            set
            {
                _exportPath = value;
            }
        }

        public bool IsSaveFiles
        {
            get
            {
                return _isSaveFiles;
            }
            set
            {
                _isSaveFiles = value;
            }
        }

        #endregion

        #region Remaining

        private bool _checkRemainingGoods;
        private bool _visibleNullGoods = false;
        private bool _isVan = false;

        public bool CheckRemainingGoods
        {
            get
            {
                return _checkRemainingGoods;
            }
            set
            {
                _checkRemainingGoods = value;
            }
        }

        public bool VisibleNullGoods
        {
            get
            {
                return _visibleNullGoods;
            }
            set
            {
                _visibleNullGoods = value;
            }
        }

        public bool IsVanSales
        {
            get
            {
                return _isVan;
            }
            set
            {
                _isVan = value;
            }
        }

        #endregion

        #region Ftp

        private string _ftpUrl = string.Empty;
        private int _ftpPort = 21;
        private string _ftpLogin = string.Empty;
        private string _ftpPassword = string.Empty;
        private bool _isPassivMode = true;
        private string _ftpImportPath = string.Empty;
        private string _ftpExportPath = string.Empty;

        public string FtpUrl
        {
            get { return _ftpUrl; }
            set { _ftpUrl = value; }
        }

        public int FtpPort
        {
            get { return _ftpPort; }
            set { _ftpPort = value; }
        }

        public string FtpLogin
        {
            get
            {
                return _ftpLogin;
            }
            set { _ftpLogin = value; }
        }

        public string FtpPassword
        {
            get { return _ftpPassword; }
            set { _ftpPassword = value; }
        }

        public bool FtpIsPassivMode
        {
            get { return _isPassivMode; }
            set { _isPassivMode = value; }
        }

        public string FtpImportPath
        {
            get { return _ftpImportPath; }
            set { _ftpImportPath = value; }
        }

        public string FtpExportPath
        {
            get { return _ftpExportPath; }
            set { _ftpExportPath = value; }
        }

        #endregion

        #region Document

        private int _defaultSklad = 1;
        private bool _autoGenerateNumber = false;
        private int _number = 1;

        public int DefaultSklad
        {
            get
            {
                return _defaultSklad;
            }
            set
            {
                _defaultSklad = value;
            }
        }

        public bool AutoGenerateNumber
        {
            get
            {
                return _autoGenerateNumber;
            }

            set
            {
                _autoGenerateNumber = value;
            }
        }

        public int NumberDocument
        {
            get
            {
                return _number;
            }
            set
            {
                _number = value;
            }
        }
        #endregion

        #region Print

        private string _printPath = string.Empty;

        private string _executeProgramPrint = string.Empty;

        public string PrintPath
        {
            get
            {
                return _printPath;
            }
            set
            {
                _printPath = value;
            }
        }

        public string ExecuteProgramPrint
        {
            get
            {
                return _executeProgramPrint;
            }
            set
            {
                _executeProgramPrint = value;
            }
        }
        #endregion

    }
}


